<!--
 * @Description:
 * @version:
 * @Author: 尹鹏孝
 * @Date: 2023-03-09 13:46:04
 * @LastEditors: 尹鹏孝
 * @LastEditTime: 2023-03-09 14:24:19
-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>vue使用的数据代理技术</title>
</head>
<body>
vue响应式原理：
Object.defineProperty(objet,'propertyName',{
    set(){},
    get(){},
    emueable,
    writable
    configurable
})
get,set可以追踪数据依赖变化，在property里被访问或者变更时候能通过get，set来通知。
每个组件vue实例都有一个watcher实例。他会在组件渲染过程中把变动的数据进行记录，当依赖的setter触发时候，通知watcher进行重新渲染
Observe：数据劫持
dep:被劫持的数据变更搜集
watcher:发布订阅模式，进行变更通知
compile:对通知到的数据进行重新编译
#__pure__告诉编译器这是个纯函数，如果没有用到直接可以在摇树时候删除。



</body>
</html>